<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SDL_gfx: I:/Sources/sdlgfx/SDL_imageFilter.h File Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">SDL_gfx
   &#160;<span id="projectnumber">2.0.25</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.8.0 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">I:/Sources/sdlgfx/SDL_imageFilter.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a href="_s_d_l__image_filter_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr class="memitem:a205445dc4dec6756a28ea815437ed6dd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a>&#160;&#160;&#160;extern</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a5823f6eb23fe8e74764a94f3d78204ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a5823f6eb23fe8e74764a94f3d78204ef">SDL_imageFilterMMXdetect</a> (void)</td></tr>
<tr class="memdesc:a5823f6eb23fe8e74764a94f3d78204ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">MMX detection routine (with override flag).  <a href="#a5823f6eb23fe8e74764a94f3d78204ef"></a><br/></td></tr>
<tr class="memitem:a403adc470cb1dd34520f18d55804d4ea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a403adc470cb1dd34520f18d55804d4ea">SDL_imageFilterMMXoff</a> (void)</td></tr>
<tr class="memdesc:a403adc470cb1dd34520f18d55804d4ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable MMX check for filter functions and and force to use non-MMX C based code.  <a href="#a403adc470cb1dd34520f18d55804d4ea"></a><br/></td></tr>
<tr class="memitem:a848ce7e9551b25fea19fe1fb739f74fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a848ce7e9551b25fea19fe1fb739f74fb">SDL_imageFilterMMXon</a> (void)</td></tr>
<tr class="memdesc:a848ce7e9551b25fea19fe1fb739f74fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable MMX check for filter functions and use MMX code if available.  <a href="#a848ce7e9551b25fea19fe1fb739f74fb"></a><br/></td></tr>
<tr class="memitem:a9034268e2f51550d8f1d6084bda45194"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a9034268e2f51550d8f1d6084bda45194">SDL_imageFilterAdd</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr class="memdesc:a9034268e2f51550d8f1d6084bda45194"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using Add: D = saturation255(S1 + S2)  <a href="#a9034268e2f51550d8f1d6084bda45194"></a><br/></td></tr>
<tr class="memitem:a69cfa83c5d198c8ae4be4ab86e8d3b8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a69cfa83c5d198c8ae4be4ab86e8d3b8f">SDL_imageFilterMean</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr class="memdesc:a69cfa83c5d198c8ae4be4ab86e8d3b8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using Mean: D = S1/2 + S2/2.  <a href="#a69cfa83c5d198c8ae4be4ab86e8d3b8f"></a><br/></td></tr>
<tr class="memitem:a0e0fb80a3dad33d61a8147c7fb9f529d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a0e0fb80a3dad33d61a8147c7fb9f529d">SDL_imageFilterSub</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr class="memdesc:a0e0fb80a3dad33d61a8147c7fb9f529d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using Sub: D = saturation0(S1 - S2)  <a href="#a0e0fb80a3dad33d61a8147c7fb9f529d"></a><br/></td></tr>
<tr class="memitem:a789ce070edcc478ad97a0d7ff90e6aa2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a789ce070edcc478ad97a0d7ff90e6aa2">SDL_imageFilterAbsDiff</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr class="memdesc:a789ce070edcc478ad97a0d7ff90e6aa2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using AbsDiff: D = | S1 - S2 |.  <a href="#a789ce070edcc478ad97a0d7ff90e6aa2"></a><br/></td></tr>
<tr class="memitem:a4657c2a1e1bf55d3241dc737cd618409"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a4657c2a1e1bf55d3241dc737cd618409">SDL_imageFilterMult</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr class="memdesc:a4657c2a1e1bf55d3241dc737cd618409"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using Mult: D = saturation255(S1 * S2)  <a href="#a4657c2a1e1bf55d3241dc737cd618409"></a><br/></td></tr>
<tr class="memitem:ac4f3446d0da18746b48606fe37c26385"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#ac4f3446d0da18746b48606fe37c26385">SDL_imageFilterMultNor</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr class="memdesc:ac4f3446d0da18746b48606fe37c26385"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using MultNor: D = S1 * S2.  <a href="#ac4f3446d0da18746b48606fe37c26385"></a><br/></td></tr>
<tr class="memitem:aa19248767b1fd9ffdea4ba69b9f00175"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#aa19248767b1fd9ffdea4ba69b9f00175">SDL_imageFilterMultDivby2</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr class="memdesc:aa19248767b1fd9ffdea4ba69b9f00175"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using MultDivby2: D = saturation255(S1/2 * S2)  <a href="#aa19248767b1fd9ffdea4ba69b9f00175"></a><br/></td></tr>
<tr class="memitem:aa92bea3946c8081c9656304a7d944fae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#aa92bea3946c8081c9656304a7d944fae">SDL_imageFilterMultDivby4</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr class="memdesc:aa92bea3946c8081c9656304a7d944fae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using MultDivby4: D = saturation255(S1/2 * S2/2)  <a href="#aa92bea3946c8081c9656304a7d944fae"></a><br/></td></tr>
<tr class="memitem:a5f67460c0b89dadd49d04832608a345b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a5f67460c0b89dadd49d04832608a345b">SDL_imageFilterBitAnd</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr class="memdesc:a5f67460c0b89dadd49d04832608a345b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using BitAnd: D = S1 &amp; S2.  <a href="#a5f67460c0b89dadd49d04832608a345b"></a><br/></td></tr>
<tr class="memitem:a0acf0eabba33f8fa7acbc08dc3015cd3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a0acf0eabba33f8fa7acbc08dc3015cd3">SDL_imageFilterBitOr</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr class="memdesc:a0acf0eabba33f8fa7acbc08dc3015cd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using BitOr: D = S1 | S2.  <a href="#a0acf0eabba33f8fa7acbc08dc3015cd3"></a><br/></td></tr>
<tr class="memitem:aeb8ed56aa7de3c8b0d0b2aa9163c3e37"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#aeb8ed56aa7de3c8b0d0b2aa9163c3e37">SDL_imageFilterDiv</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr class="memdesc:aeb8ed56aa7de3c8b0d0b2aa9163c3e37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using Div: D = S1 / S2.  <a href="#aeb8ed56aa7de3c8b0d0b2aa9163c3e37"></a><br/></td></tr>
<tr class="memitem:abc3c3fc5f018e271f6393921f3964d31"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#abc3c3fc5f018e271f6393921f3964d31">SDL_imageFilterBitNegation</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length)</td></tr>
<tr class="memdesc:abc3c3fc5f018e271f6393921f3964d31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using BitNegation: D = !S.  <a href="#abc3c3fc5f018e271f6393921f3964d31"></a><br/></td></tr>
<tr class="memitem:a6be6dccd000eff4baadd33297e5cc419"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a6be6dccd000eff4baadd33297e5cc419">SDL_imageFilterAddByte</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)</td></tr>
<tr class="memdesc:a6be6dccd000eff4baadd33297e5cc419"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using AddByte: D = saturation255(S + C)  <a href="#a6be6dccd000eff4baadd33297e5cc419"></a><br/></td></tr>
<tr class="memitem:af1a17645dea69e52c7bd560521286765"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#af1a17645dea69e52c7bd560521286765">SDL_imageFilterAddUint</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned int C)</td></tr>
<tr class="memdesc:af1a17645dea69e52c7bd560521286765"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using AddUint: D = saturation255((S[i] + Cs[i % 4]), Cs=Swap32((uint)C)  <a href="#af1a17645dea69e52c7bd560521286765"></a><br/></td></tr>
<tr class="memitem:a8cbdffd5dbcab3b5dc9207d57af616b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a8cbdffd5dbcab3b5dc9207d57af616b3">SDL_imageFilterAddByteToHalf</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)</td></tr>
<tr class="memdesc:a8cbdffd5dbcab3b5dc9207d57af616b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using AddByteToHalf: D = saturation255(S/2 + C)  <a href="#a8cbdffd5dbcab3b5dc9207d57af616b3"></a><br/></td></tr>
<tr class="memitem:af8f4ab4050a0661c7696783ba1a1b12b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#af8f4ab4050a0661c7696783ba1a1b12b">SDL_imageFilterSubByte</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)</td></tr>
<tr class="memdesc:af8f4ab4050a0661c7696783ba1a1b12b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using SubByte: D = saturation0(S - C)  <a href="#af8f4ab4050a0661c7696783ba1a1b12b"></a><br/></td></tr>
<tr class="memitem:ae2f3c5992701bded7c2d256bbbfb403f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#ae2f3c5992701bded7c2d256bbbfb403f">SDL_imageFilterSubUint</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned int C)</td></tr>
<tr class="memdesc:ae2f3c5992701bded7c2d256bbbfb403f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using SubUint: D = saturation0(S[i] - Cs[i % 4]), Cs=Swap32((uint)C)  <a href="#ae2f3c5992701bded7c2d256bbbfb403f"></a><br/></td></tr>
<tr class="memitem:a931f1232cd03acd2ba90af222625f4ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a931f1232cd03acd2ba90af222625f4ca">SDL_imageFilterShiftRight</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)</td></tr>
<tr class="memdesc:a931f1232cd03acd2ba90af222625f4ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using ShiftRight: D = saturation0(S &gt;&gt; N)  <a href="#a931f1232cd03acd2ba90af222625f4ca"></a><br/></td></tr>
<tr class="memitem:a4ccddf5c575cc4d6074c9a54789240a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a4ccddf5c575cc4d6074c9a54789240a6">SDL_imageFilterShiftRightUint</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)</td></tr>
<tr class="memdesc:a4ccddf5c575cc4d6074c9a54789240a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using ShiftRightUint: D = saturation0((uint)S[i] &gt;&gt; N)  <a href="#a4ccddf5c575cc4d6074c9a54789240a6"></a><br/></td></tr>
<tr class="memitem:add06bb6ea7847fc13a3041ddceb4ac3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#add06bb6ea7847fc13a3041ddceb4ac3c">SDL_imageFilterMultByByte</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)</td></tr>
<tr class="memdesc:add06bb6ea7847fc13a3041ddceb4ac3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using MultByByte: D = saturation255(S * C)  <a href="#add06bb6ea7847fc13a3041ddceb4ac3c"></a><br/></td></tr>
<tr class="memitem:a40e1e21ede9a7ed1eddac2cdbfd0b079"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a40e1e21ede9a7ed1eddac2cdbfd0b079">SDL_imageFilterShiftRightAndMultByByte</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N, unsigned char C)</td></tr>
<tr class="memdesc:a40e1e21ede9a7ed1eddac2cdbfd0b079"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using ShiftRightAndMultByByte: D = saturation255((S &gt;&gt; N) * C)  <a href="#a40e1e21ede9a7ed1eddac2cdbfd0b079"></a><br/></td></tr>
<tr class="memitem:ac32f1ea9acbee51c2db94224ef6f7fd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#ac32f1ea9acbee51c2db94224ef6f7fd2">SDL_imageFilterShiftLeftByte</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)</td></tr>
<tr class="memdesc:ac32f1ea9acbee51c2db94224ef6f7fd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using ShiftLeftByte: D = (S &lt;&lt; N)  <a href="#ac32f1ea9acbee51c2db94224ef6f7fd2"></a><br/></td></tr>
<tr class="memitem:a4fd6d4a9711c13163496587454d9f1a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a4fd6d4a9711c13163496587454d9f1a2">SDL_imageFilterShiftLeftUint</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)</td></tr>
<tr class="memdesc:a4fd6d4a9711c13163496587454d9f1a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using ShiftLeftUint: D = ((uint)S &lt;&lt; N)  <a href="#a4fd6d4a9711c13163496587454d9f1a2"></a><br/></td></tr>
<tr class="memitem:a084f9544f049cc01e7b2f1090534abbf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a084f9544f049cc01e7b2f1090534abbf">SDL_imageFilterShiftLeft</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)</td></tr>
<tr class="memdesc:a084f9544f049cc01e7b2f1090534abbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter ShiftLeft: D = saturation255(S &lt;&lt; N)  <a href="#a084f9544f049cc01e7b2f1090534abbf"></a><br/></td></tr>
<tr class="memitem:ad5bf97d7e39d018d2eeb570e97edf8c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#ad5bf97d7e39d018d2eeb570e97edf8c0">SDL_imageFilterBinarizeUsingThreshold</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char T)</td></tr>
<tr class="memdesc:ad5bf97d7e39d018d2eeb570e97edf8c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using BinarizeUsingThreshold: D = (S &gt;= T) ? 255:0.  <a href="#ad5bf97d7e39d018d2eeb570e97edf8c0"></a><br/></td></tr>
<tr class="memitem:ae9d552de9cf5a4a1716d91ee905eafd7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#ae9d552de9cf5a4a1716d91ee905eafd7">SDL_imageFilterClipToRange</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char Tmin, unsigned char Tmax)</td></tr>
<tr class="memdesc:ae9d552de9cf5a4a1716d91ee905eafd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using ClipToRange: D = (S &gt;= Tmin) &amp; (S &lt;= Tmax) S:Tmin | Tmax.  <a href="#ae9d552de9cf5a4a1716d91ee905eafd7"></a><br/></td></tr>
<tr class="memitem:aacb316a18d8cb7999d5d53ee5e7b9750"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#aacb316a18d8cb7999d5d53ee5e7b9750">SDL_imageFilterNormalizeLinear</a> (unsigned char *Src, unsigned char *Dest, unsigned int length, int Cmin, int Cmax, int Nmin, int Nmax)</td></tr>
<tr class="memdesc:aacb316a18d8cb7999d5d53ee5e7b9750"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using NormalizeLinear: D = saturation255((Nmax - Nmin)/(Cmax - Cmin)*(S - Cmin) + Nmin)  <a href="#aacb316a18d8cb7999d5d53ee5e7b9750"></a><br/></td></tr>
<tr class="memitem:a7286cd21fa0a0cfb0606806dacfbe121"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a7286cd21fa0a0cfb0606806dacfbe121">SDL_imageFilterConvolveKernel3x3Divide</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)</td></tr>
<tr class="memdesc:a7286cd21fa0a0cfb0606806dacfbe121"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using ConvolveKernel3x3Divide: Dij = saturation0and255( ... )  <a href="#a7286cd21fa0a0cfb0606806dacfbe121"></a><br/></td></tr>
<tr class="memitem:a432d7bcc34b6bea42d1a07b4db795e1f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a432d7bcc34b6bea42d1a07b4db795e1f">SDL_imageFilterConvolveKernel5x5Divide</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)</td></tr>
<tr class="memdesc:a432d7bcc34b6bea42d1a07b4db795e1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using ConvolveKernel5x5Divide: Dij = saturation0and255( ... )  <a href="#a432d7bcc34b6bea42d1a07b4db795e1f"></a><br/></td></tr>
<tr class="memitem:acc177cf891758fdc4bf7533fb266e339"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#acc177cf891758fdc4bf7533fb266e339">SDL_imageFilterConvolveKernel7x7Divide</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)</td></tr>
<tr class="memdesc:acc177cf891758fdc4bf7533fb266e339"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using ConvolveKernel7x7Divide: Dij = saturation0and255( ... )  <a href="#acc177cf891758fdc4bf7533fb266e339"></a><br/></td></tr>
<tr class="memitem:af8a8114acd0509787ae5265990049720"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#af8a8114acd0509787ae5265990049720">SDL_imageFilterConvolveKernel9x9Divide</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)</td></tr>
<tr class="memdesc:af8a8114acd0509787ae5265990049720"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using ConvolveKernel9x9Divide: Dij = saturation0and255( ... )  <a href="#af8a8114acd0509787ae5265990049720"></a><br/></td></tr>
<tr class="memitem:a67929babce179e1e333c5cd2e5fc4091"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a67929babce179e1e333c5cd2e5fc4091">SDL_imageFilterConvolveKernel3x3ShiftRight</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)</td></tr>
<tr class="memdesc:a67929babce179e1e333c5cd2e5fc4091"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using ConvolveKernel3x3ShiftRight: Dij = saturation0and255( ... )  <a href="#a67929babce179e1e333c5cd2e5fc4091"></a><br/></td></tr>
<tr class="memitem:a9aaa45452b04f51f52826c2104ea3b85"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a9aaa45452b04f51f52826c2104ea3b85">SDL_imageFilterConvolveKernel5x5ShiftRight</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)</td></tr>
<tr class="memdesc:a9aaa45452b04f51f52826c2104ea3b85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using ConvolveKernel5x5ShiftRight: Dij = saturation0and255( ... )  <a href="#a9aaa45452b04f51f52826c2104ea3b85"></a><br/></td></tr>
<tr class="memitem:a6dbe52e917c0858bd311e9ce75219587"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a6dbe52e917c0858bd311e9ce75219587">SDL_imageFilterConvolveKernel7x7ShiftRight</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)</td></tr>
<tr class="memdesc:a6dbe52e917c0858bd311e9ce75219587"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using ConvolveKernel7x7ShiftRight: Dij = saturation0and255( ... )  <a href="#a6dbe52e917c0858bd311e9ce75219587"></a><br/></td></tr>
<tr class="memitem:ad2702d0524a16032118fdf67e3e0f44a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#ad2702d0524a16032118fdf67e3e0f44a">SDL_imageFilterConvolveKernel9x9ShiftRight</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)</td></tr>
<tr class="memdesc:ad2702d0524a16032118fdf67e3e0f44a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using ConvolveKernel9x9ShiftRight: Dij = saturation255( ... )  <a href="#ad2702d0524a16032118fdf67e3e0f44a"></a><br/></td></tr>
<tr class="memitem:a2a0e4e259150abbe33bcddb046c367ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a2a0e4e259150abbe33bcddb046c367ba">SDL_imageFilterSobelX</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns)</td></tr>
<tr class="memdesc:a2a0e4e259150abbe33bcddb046c367ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using SobelX: Dij = saturation255( ... )  <a href="#a2a0e4e259150abbe33bcddb046c367ba"></a><br/></td></tr>
<tr class="memitem:ab9cc925cd9b135e245936d718b459032"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#ab9cc925cd9b135e245936d718b459032">SDL_imageFilterSobelXShiftRight</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, unsigned char NRightShift)</td></tr>
<tr class="memdesc:ab9cc925cd9b135e245936d718b459032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter using SobelXShiftRight: Dij = saturation255( ... )  <a href="#ab9cc925cd9b135e245936d718b459032"></a><br/></td></tr>
<tr class="memitem:a08a45265e9e84bf8beedebba26da947c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a08a45265e9e84bf8beedebba26da947c">SDL_imageFilterAlignStack</a> (void)</td></tr>
<tr class="memdesc:a08a45265e9e84bf8beedebba26da947c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Align stack to 32 byte boundary,.  <a href="#a08a45265e9e84bf8beedebba26da947c"></a><br/></td></tr>
<tr class="memitem:a84f360601d5e6e017f0e74a2cf83be6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a84f360601d5e6e017f0e74a2cf83be6c">SDL_imageFilterRestoreStack</a> (void)</td></tr>
<tr class="memdesc:a84f360601d5e6e017f0e74a2cf83be6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore previously aligned stack.  <a href="#a84f360601d5e6e017f0e74a2cf83be6c"></a><br/></td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a205445dc4dec6756a28ea815437ed6dd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a>&#160;&#160;&#160;extern</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8h_source.html#l00050">50</a> of file <a class="el" href="_s_d_l__image_filter_8h_source.html">SDL_imageFilter.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a789ce070edcc478ad97a0d7ff90e6aa2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a789ce070edcc478ad97a0d7ff90e6aa2">SDL_imageFilterAbsDiff</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using AbsDiff: D = | S1 - S2 |. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td class="paramname">Src2</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00539">539</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a9034268e2f51550d8f1d6084bda45194"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a9034268e2f51550d8f1d6084bda45194">SDL_imageFilterAdd</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using Add: D = saturation255(S1 + S2) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td class="paramname">Src2</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00170">170</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a6be6dccd000eff4baadd33297e5cc419"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a6be6dccd000eff4baadd33297e5cc419">SDL_imageFilterAddByte</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>C</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using AddByte: D = saturation255(S + C) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source array. </td></tr>
    <tr><td class="paramname">C</td><td>Constant value to add (C).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01788">1788</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a8cbdffd5dbcab3b5dc9207d57af616b3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a8cbdffd5dbcab3b5dc9207d57af616b3">SDL_imageFilterAddByteToHalf</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>C</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using AddByteToHalf: D = saturation255(S/2 + C) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source array. </td></tr>
    <tr><td class="paramname">C</td><td>Constant to add (C).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l02065">2065</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="af1a17645dea69e52c7bd560521286765"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#af1a17645dea69e52c7bd560521286765">SDL_imageFilterAddUint</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>C</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using AddUint: D = saturation255((S[i] + Cs[i % 4]), Cs=Swap32((uint)C) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source array. </td></tr>
    <tr><td class="paramname">C</td><td>Constant to add (C).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01916">1916</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a08a45265e9e84bf8beedebba26da947c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> void <a class="el" href="_s_d_l__image_filter_8h.html#a08a45265e9e84bf8beedebba26da947c">SDL_imageFilterAlignStack</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Align stack to 32 byte boundary,. </p>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l07323">7323</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="ad5bf97d7e39d018d2eeb570e97edf8c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#ad5bf97d7e39d018d2eeb570e97edf8c0">SDL_imageFilterBinarizeUsingThreshold</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>T</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using BinarizeUsingThreshold: D = (S &gt;= T) ? 255:0. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source array. </td></tr>
    <tr><td class="paramname">T</td><td>The threshold boundary (inclusive).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l03531">3531</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a5f67460c0b89dadd49d04832608a345b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a5f67460c0b89dadd49d04832608a345b">SDL_imageFilterBitAnd</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using BitAnd: D = S1 &amp; S2. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td class="paramname">Src2</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01275">1275</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="abc3c3fc5f018e271f6393921f3964d31"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#abc3c3fc5f018e271f6393921f3964d31">SDL_imageFilterBitNegation</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using BitNegation: D = !S. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source array.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01668">1668</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a0acf0eabba33f8fa7acbc08dc3015cd3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a0acf0eabba33f8fa7acbc08dc3015cd3">SDL_imageFilterBitOr</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using BitOr: D = S1 | S2. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td class="paramname">Src2</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01389">1389</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="ae9d552de9cf5a4a1716d91ee905eafd7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#ae9d552de9cf5a4a1716d91ee905eafd7">SDL_imageFilterClipToRange</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>Tmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>Tmax</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ClipToRange: D = (S &gt;= Tmin) &amp; (S &lt;= Tmax) S:Tmin | Tmax. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source array. </td></tr>
    <tr><td class="paramname">Tmin</td><td>Lower (inclusive) boundary of the clipping range. </td></tr>
    <tr><td class="paramname">Tmax</td><td>Upper (inclusive) boundary of the clipping range.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l03688">3688</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a7286cd21fa0a0cfb0606806dacfbe121"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a7286cd21fa0a0cfb0606806dacfbe121">SDL_imageFilterConvolveKernel3x3Divide</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&#160;</td>
          <td class="paramname"><em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>Divisor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel3x3Divide: Dij = saturation0and255( ... ) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td class="paramname">Dest</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td class="paramname">rows</td><td>Number of rows in source/destination array. Must be &gt;2. </td></tr>
    <tr><td class="paramname">columns</td><td>Number of columns in source/destination array. Must be &gt;2. </td></tr>
    <tr><td class="paramname">Kernel</td><td>The 2D convolution kernel of size 3x3. </td></tr>
    <tr><td class="paramname">Divisor</td><td>The divisor of the convolution sum. Must be &gt;0.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="section return"><dt>Returns:</dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l03977">3977</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a67929babce179e1e333c5cd2e5fc4091"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a67929babce179e1e333c5cd2e5fc4091">SDL_imageFilterConvolveKernel3x3ShiftRight</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&#160;</td>
          <td class="paramname"><em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>NRightShift</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel3x3ShiftRight: Dij = saturation0and255( ... ) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td class="paramname">Dest</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td class="paramname">rows</td><td>Number of rows in source/destination array. Must be &gt;2. </td></tr>
    <tr><td class="paramname">columns</td><td>Number of columns in source/destination array. Must be &gt;2. </td></tr>
    <tr><td class="paramname">Kernel</td><td>The 2D convolution kernel of size 3x3. </td></tr>
    <tr><td class="paramname">NRightShift</td><td>The number of right bit shifts to apply to the convolution sum. Must be &lt;7.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="section return"><dt>Returns:</dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l05375">5375</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a432d7bcc34b6bea42d1a07b4db795e1f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a432d7bcc34b6bea42d1a07b4db795e1f">SDL_imageFilterConvolveKernel5x5Divide</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&#160;</td>
          <td class="paramname"><em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>Divisor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel5x5Divide: Dij = saturation0and255( ... ) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td class="paramname">Dest</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td class="paramname">rows</td><td>Number of rows in source/destination array. Must be &gt;4. </td></tr>
    <tr><td class="paramname">columns</td><td>Number of columns in source/destination array. Must be &gt;4. </td></tr>
    <tr><td class="paramname">Kernel</td><td>The 2D convolution kernel of size 5x5. </td></tr>
    <tr><td class="paramname">Divisor</td><td>The divisor of the convolution sum. Must be &gt;0.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="section return"><dt>Returns:</dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l04167">4167</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a9aaa45452b04f51f52826c2104ea3b85"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a9aaa45452b04f51f52826c2104ea3b85">SDL_imageFilterConvolveKernel5x5ShiftRight</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&#160;</td>
          <td class="paramname"><em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>NRightShift</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel5x5ShiftRight: Dij = saturation0and255( ... ) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td class="paramname">Dest</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td class="paramname">rows</td><td>Number of rows in source/destination array. Must be &gt;4. </td></tr>
    <tr><td class="paramname">columns</td><td>Number of columns in source/destination array. Must be &gt;4. </td></tr>
    <tr><td class="paramname">Kernel</td><td>The 2D convolution kernel of size 5x5. </td></tr>
    <tr><td class="paramname">NRightShift</td><td>The number of right bit shifts to apply to the convolution sum. Must be &lt;7.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="section return"><dt>Returns:</dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l05552">5552</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="acc177cf891758fdc4bf7533fb266e339"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#acc177cf891758fdc4bf7533fb266e339">SDL_imageFilterConvolveKernel7x7Divide</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&#160;</td>
          <td class="paramname"><em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>Divisor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel7x7Divide: Dij = saturation0and255( ... ) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td class="paramname">Dest</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td class="paramname">rows</td><td>Number of rows in source/destination array. Must be &gt;6. </td></tr>
    <tr><td class="paramname">columns</td><td>Number of columns in source/destination array. Must be &gt;6. </td></tr>
    <tr><td class="paramname">Kernel</td><td>The 2D convolution kernel of size 7x7. </td></tr>
    <tr><td class="paramname">Divisor</td><td>The divisor of the convolution sum. Must be &gt;0.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="section return"><dt>Returns:</dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l04470">4470</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a6dbe52e917c0858bd311e9ce75219587"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a6dbe52e917c0858bd311e9ce75219587">SDL_imageFilterConvolveKernel7x7ShiftRight</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&#160;</td>
          <td class="paramname"><em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>NRightShift</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel7x7ShiftRight: Dij = saturation0and255( ... ) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td class="paramname">Dest</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td class="paramname">rows</td><td>Number of rows in source/destination array. Must be &gt;6. </td></tr>
    <tr><td class="paramname">columns</td><td>Number of columns in source/destination array. Must be &gt;6. </td></tr>
    <tr><td class="paramname">Kernel</td><td>The 2D convolution kernel of size 7x7. </td></tr>
    <tr><td class="paramname">NRightShift</td><td>The number of right bit shifts to apply to the convolution sum. Must be &lt;7.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="section return"><dt>Returns:</dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l05853">5853</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="af8a8114acd0509787ae5265990049720"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#af8a8114acd0509787ae5265990049720">SDL_imageFilterConvolveKernel9x9Divide</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&#160;</td>
          <td class="paramname"><em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>Divisor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel9x9Divide: Dij = saturation0and255( ... ) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td class="paramname">Dest</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td class="paramname">rows</td><td>Number of rows in source/destination array. Must be &gt;8. </td></tr>
    <tr><td class="paramname">columns</td><td>Number of columns in source/destination array. Must be &gt;8. </td></tr>
    <tr><td class="paramname">Kernel</td><td>The 2D convolution kernel of size 9x9. </td></tr>
    <tr><td class="paramname">Divisor</td><td>The divisor of the convolution sum. Must be &gt;0.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="section return"><dt>Returns:</dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l04827">4827</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="ad2702d0524a16032118fdf67e3e0f44a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#ad2702d0524a16032118fdf67e3e0f44a">SDL_imageFilterConvolveKernel9x9ShiftRight</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&#160;</td>
          <td class="paramname"><em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>NRightShift</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel9x9ShiftRight: Dij = saturation255( ... ) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td class="paramname">Dest</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td class="paramname">rows</td><td>Number of rows in source/destination array. Must be &gt;8. </td></tr>
    <tr><td class="paramname">columns</td><td>Number of columns in source/destination array. Must be &gt;8. </td></tr>
    <tr><td class="paramname">Kernel</td><td>The 2D convolution kernel of size 9x9. </td></tr>
    <tr><td class="paramname">NRightShift</td><td>The number of right bit shifts to apply to the convolution sum. Must be &lt;7.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="section return"><dt>Returns:</dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l06216">6216</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="aeb8ed56aa7de3c8b0d0b2aa9163c3e37"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#aeb8ed56aa7de3c8b0d0b2aa9163c3e37">SDL_imageFilterDiv</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using Div: D = S1 / S2. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td class="paramname">Src2</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01546">1546</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a69cfa83c5d198c8ae4be4ab86e8d3b8f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a69cfa83c5d198c8ae4be4ab86e8d3b8f">SDL_imageFilterMean</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using Mean: D = S1/2 + S2/2. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td class="paramname">Src2</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00305">305</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a5823f6eb23fe8e74764a94f3d78204ef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a5823f6eb23fe8e74764a94f3d78204ef">SDL_imageFilterMMXdetect</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>MMX detection routine (with override flag). </p>
<dl class="section return"><dt>Returns:</dt><dd>1 of MMX was detected, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00077">77</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a403adc470cb1dd34520f18d55804d4ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> void <a class="el" href="_s_d_l__image_filter_8h.html#a403adc470cb1dd34520f18d55804d4ea">SDL_imageFilterMMXoff</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Disable MMX check for filter functions and and force to use non-MMX C based code. </p>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00090">90</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a848ce7e9551b25fea19fe1fb739f74fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> void <a class="el" href="_s_d_l__image_filter_8h.html#a848ce7e9551b25fea19fe1fb739f74fb">SDL_imageFilterMMXon</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enable MMX check for filter functions and use MMX code if available. </p>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00098">98</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a4657c2a1e1bf55d3241dc737cd618409"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a4657c2a1e1bf55d3241dc737cd618409">SDL_imageFilterMult</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using Mult: D = saturation255(S1 * S2) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td class="paramname">Src2</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00726">726</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="add06bb6ea7847fc13a3041ddceb4ac3c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#add06bb6ea7847fc13a3041ddceb4ac3c">SDL_imageFilterMultByByte</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>C</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using MultByByte: D = saturation255(S * C) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source arrays. </td></tr>
    <tr><td class="paramname">C</td><td>Constant to multiply with (C).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l02787">2787</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="aa19248767b1fd9ffdea4ba69b9f00175"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#aa19248767b1fd9ffdea4ba69b9f00175">SDL_imageFilterMultDivby2</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using MultDivby2: D = saturation255(S1/2 * S2) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td class="paramname">Src2</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00997">997</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="aa92bea3946c8081c9656304a7d944fae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#aa92bea3946c8081c9656304a7d944fae">SDL_imageFilterMultDivby4</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using MultDivby4: D = saturation255(S1/2 * S2/2) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td class="paramname">Src2</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01138">1138</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="ac4f3446d0da18746b48606fe37c26385"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#ac4f3446d0da18746b48606fe37c26385">SDL_imageFilterMultNor</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using MultNor: D = S1 * S2. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td class="paramname">Src2</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00859">859</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="aacb316a18d8cb7999d5d53ee5e7b9750"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#aacb316a18d8cb7999d5d53ee5e7b9750">SDL_imageFilterNormalizeLinear</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Cmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Cmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Nmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Nmax</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using NormalizeLinear: D = saturation255((Nmax - Nmin)/(Cmax - Cmin)*(S - Cmin) + Nmin) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source array. </td></tr>
    <tr><td class="paramname">Cmin</td><td>Normalization constant. </td></tr>
    <tr><td class="paramname">Cmax</td><td>Normalization constant. </td></tr>
    <tr><td class="paramname">Nmin</td><td>Normalization constant. </td></tr>
    <tr><td class="paramname">Nmax</td><td>Normalization constant.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l03906">3906</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a84f360601d5e6e017f0e74a2cf83be6c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> void <a class="el" href="_s_d_l__image_filter_8h.html#a84f360601d5e6e017f0e74a2cf83be6c">SDL_imageFilterRestoreStack</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Restore previously aligned stack. </p>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l07351">7351</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a084f9544f049cc01e7b2f1090534abbf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a084f9544f049cc01e7b2f1090534abbf">SDL_imageFilterShiftLeft</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>N</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter ShiftLeft: D = saturation255(S &lt;&lt; N) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S1). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source array. </td></tr>
    <tr><td class="paramname">N</td><td>Number of bit-positions to shift (N). Valid range is 0 to 8.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l03390">3390</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="ac32f1ea9acbee51c2db94224ef6f7fd2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#ac32f1ea9acbee51c2db94224ef6f7fd2">SDL_imageFilterShiftLeftByte</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>N</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ShiftLeftByte: D = (S &lt;&lt; N) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source arrays. </td></tr>
    <tr><td class="paramname">N</td><td>Number of bit-positions to shift (N). Valid range is 0 to 8.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l03090">3090</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a4fd6d4a9711c13163496587454d9f1a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a4fd6d4a9711c13163496587454d9f1a2">SDL_imageFilterShiftLeftUint</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>N</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ShiftLeftUint: D = ((uint)S &lt;&lt; N) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source array. </td></tr>
    <tr><td class="paramname">N</td><td>Number of bit-positions to shift (N). Valid range is 0 to 32.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l03207">3207</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a931f1232cd03acd2ba90af222625f4ca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a931f1232cd03acd2ba90af222625f4ca">SDL_imageFilterShiftRight</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>N</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ShiftRight: D = saturation0(S &gt;&gt; N) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source array. </td></tr>
    <tr><td class="paramname">N</td><td>Number of bit-positions to shift (N). Valid range is 0 to 8.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l02473">2473</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a40e1e21ede9a7ed1eddac2cdbfd0b079"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a40e1e21ede9a7ed1eddac2cdbfd0b079">SDL_imageFilterShiftRightAndMultByByte</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>N</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>C</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ShiftRightAndMultByByte: D = saturation255((S &gt;&gt; N) * C) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source array. </td></tr>
    <tr><td class="paramname">N</td><td>Number of bit-positions to shift (N). Valid range is 0 to 8. </td></tr>
    <tr><td class="paramname">C</td><td>Constant to multiply with (C).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l02940">2940</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a4ccddf5c575cc4d6074c9a54789240a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a4ccddf5c575cc4d6074c9a54789240a6">SDL_imageFilterShiftRightUint</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>N</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ShiftRightUint: D = saturation0((uint)S[i] &gt;&gt; N) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S1). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source array. </td></tr>
    <tr><td class="paramname">N</td><td>Number of bit-positions to shift (N). Valid range is 0 to 32.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l02591">2591</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a2a0e4e259150abbe33bcddb046c367ba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a2a0e4e259150abbe33bcddb046c367ba">SDL_imageFilterSobelX</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>columns</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using SobelX: Dij = saturation255( ... ) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src</td><td>The source 2D byte array to sobel-filter. Should be different from destination. </td></tr>
    <tr><td class="paramname">Dest</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td class="paramname">rows</td><td>Number of rows in source/destination array. Must be &gt;2. </td></tr>
    <tr><td class="paramname">columns</td><td>Number of columns in source/destination array. Must be &gt;7.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="section return"><dt>Returns:</dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l06796">6796</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="ab9cc925cd9b135e245936d718b459032"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#ab9cc925cd9b135e245936d718b459032">SDL_imageFilterSobelXShiftRight</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>NRightShift</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using SobelXShiftRight: Dij = saturation255( ... ) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src</td><td>The source 2D byte array to sobel-filter. Should be different from destination. </td></tr>
    <tr><td class="paramname">Dest</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td class="paramname">rows</td><td>Number of rows in source/destination array. Must be &gt;2. </td></tr>
    <tr><td class="paramname">columns</td><td>Number of columns in source/destination array. Must be &gt;8. </td></tr>
    <tr><td class="paramname">NRightShift</td><td>The number of right bit shifts to apply to the filter sum. Must be &lt;7.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="section return"><dt>Returns:</dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l07049">7049</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a0e0fb80a3dad33d61a8147c7fb9f529d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#a0e0fb80a3dad33d61a8147c7fb9f529d">SDL_imageFilterSub</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using Sub: D = saturation0(S1 - S2) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td class="paramname">Src2</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00419">419</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="af8f4ab4050a0661c7696783ba1a1b12b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#af8f4ab4050a0661c7696783ba1a1b12b">SDL_imageFilterSubByte</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>C</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using SubByte: D = saturation0(S - C) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source arrays. </td></tr>
    <tr><td class="paramname">C</td><td>Constant to subtract (C).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l02193">2193</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="ae2f3c5992701bded7c2d256bbbfb403f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_s_d_l__image_filter_8h.html#a205445dc4dec6756a28ea815437ed6dd">SDL_IMAGEFILTER_SCOPE</a> int <a class="el" href="_s_d_l__image_filter_8h.html#ae2f3c5992701bded7c2d256bbbfb403f">SDL_imageFilterSubUint</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>C</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using SubUint: D = saturation0(S[i] - Cs[i % 4]), Cs=Swap32((uint)C) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Src1</td><td>Pointer to the start of the source byte array (S1). </td></tr>
    <tr><td class="paramname">Dest</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td class="paramname">length</td><td>The number of bytes in the source array. </td></tr>
    <tr><td class="paramname">C</td><td>Constant to subtract (C).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l02322">2322</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.0
</small></address>

</body>
</html>
